热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程度|也就是_论文精读:NeuralArchitectureSearchwithoutTraining

篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:Neural Architecture Search without Training相关的知识,希望对你有一定的参考价值。



文章目录


    • 1. Abstract
    • 2. Background
    • 3. Method
      • 3.1 score
      • 3.2 NASWOT
      • 3.3 AREA

    • 4. Experiments
    • 5. Core code



1. Abstract

  手工设计深度神经网络所花费的时间和精力是巨大的,这推动了神经架构搜索(Neural Architecture Search,NAS)技术的发展,以实现自动化设计。然而,NAS算法往往速度慢且成本昂贵;它们需要训练大量的候选网络,以便为搜索过程提供信息。如果我们能够从网络的初始状态部分预测其训练的精度,这一问题就可以得到缓解。
  在这项工作中,作者测验了未经训练的网络中数据点之间的激活重叠,并激励如何能够给出有效表明网络训练性能的度量。作者将这种方法整合到一个简单的算法中,该算法允许我们在几秒钟内在单个GPU上搜索强大的网络,而无需任何训练,并在NAS-Bench-101NAS-Bench-201NATS BenchNDS(Network Design Spaces)上验证了其有效性。
  最终,作者的算法能够在30s内在NAS-Bench-201搜索空间上搜索到精度为92.81%的网络,比传统NAS方法快了几个数量级。

  Paper:https://arxiv.org/abs/2006.04647
  Code:https://github.com/BayesWatch/nas-without-training


2. Background


TimePaperAuthorMethod[Dis]advantages
2017Neural architecture search with reinforcement learningZoph & Le作者使用RNN控制器来生成候选网络,并对候选网络进行训练,使用强化学习更新控制器,以提高其生成的候选网络的质量控制器每次的输出结构都要进行训练,成本较高,作者使用800个GPU在CIFAR10数据集上训练了28天;缺乏灵活性,最终获得的网络是固定的,不能扩展,即不能用于移动设备或其他数据集
2018Learning transferable architectures for scalable image recognitionZoph et al.在神经单元块上搜索,而不是在整个架构上搜索。即作者搜索一个标准单元和一个简化单元(合并池)进行CIFAR10分类,然后将其用作ImageNet分类的更大网络的单元块在数量上更加灵活,单元块可以根据预算进行调整;500个GPU训练了4天
2018Efficient neural architecture search via parameter sharingPham et al.允许候选网络共享权重,以便进行联合训练降低了搜索的计算成本,使用单个GPU在CIFAR10数据集上运行了半天
2020Evaluating the search phase of neural architecture searchYu et al.证明了共享权重方法抑制了对最佳网络结构的搜索,使随机搜索成为一种极其有效的NAS基线/

  对于一些从业者来说,NAS仍然很慢。在硬件感知设置中,能够快速(即以秒为单位)执行NAS将非常有用,在该设置中,每个设备和任务通常需要单独搜索。


TimePaperAuthorMethod[Dis]advantages
2019FBNet: Hardwareaware efficient convnet design via differentiable neural architecture searchWu et al.//
2019MnasNet: Platform-aware neural architecture search for mobileTan et al.//

  评估NAS算法有效性的主要障碍是搜索空间(所有可能网络的集合)太大,无法进行详尽的评估。下面介绍几个常用的benchmarks:


BenchmarksIntroduction
NAS-Bench 101包含423624个神经网络,在CIFAR10数据集上经过了108epoch的训练,使用了三种不同的初始化
NAS-Bench 201包含15625个神经网络,CIFAR10/CIFAR100/ImageNet-16-120数据集上训练了多次
NATS-Bench有两种搜索空间:拓扑搜索空间NATS-Bench TSS,包含15625个神经网络,也就是NAS-Bench 201;大小搜索空间NATS-Bench SSS,包含32768个神经网络,这些网络之间的cells通道数不同。

3. Method


3.1 score

  作者的目标是设计一种方法,在初始化时对网络架构进行评分,以表示其最终训练的精度,这样就可以使用成本低廉的计算方法来代替NAS算法中昂贵的训练步骤。
  给定一个具有修正线性单元(rectified linear units, RELU)的神经网络,我们可以在每层的每个RELU单元上确定一个关于该单元是未激活(值为负,因此乘以零)还是已激活(在这种情况下,其值乘以一)的二进制指标。固定这些指标变量,现在网络由线性算子局部定义,该算子通过将散布在每个层上的线性映射(the linear maps)与二进制校正单元(the binary rectification units)相乘而获得。
  mini-batch data




X


=






x


i








i


=


1



N




X = \\x_i\\_i=1^N


X=xii=1N
可以通过神经网络映射为




f


(



x


i



)



f(x_i)


f(xi)
,




f



f


f





x



x


x
RELU单元的指示变量形成一个定义线性区域(the linear region)的二进制码





c


i




c_i


ci
。与两个输入相关联的二进制码越相似,网络学习分离这些输入就越具有挑战性,当两个输入具有相同的二进制码时,它们位于网络的相同线性区域内,因此特别难以分离。相反,当输入被很好地区分时,学习应该更容易。下图可视化了ReLU单元的二进制激活码对应的线性区域:


  其中,1. 每个ReLU节点





A


i




A_i


Ai
将输入拆分为激活区域(>0)和非激活区域,我们将激活区域标记为1,非激活区域标记为0;2. 与每个节点





A


i




A_i


Ai
相关联的激活和非激活区域相交,具有相同激活模式的输入空间(input space)区域是共线的(co-linear);3. 下一层的ReLU节点




B



B


B
将空间进一步划分为激活区域和非激活区域;4. 给定节点上的每个线性区域都可以由其前面的所有ReLU节点的激活模式唯一定义。
  作者用汉明距离(Hamming distance)





d


H



(



c


i



,



c


j



)



d_H(c_i, c_j)


dH(ci,cj)
来衡量两个输入(未训练网络的输入二进制码)的不相似程度(也可以说是相似性程度),因此可以通过计算核矩阵(kernel matrix)





K


H




K_H


KH
来测验整个小批量数据的二进制码之间的对应关系:






K


H



=



(








N


A







d


H



(



c


1



,



c


1



)
















N


A







d


H



(



c


1



,



c


N



)








































N


A







d


H



(



c


N



,



c


1



)
















N


A







d


H



(



c


N



,



c


N



)







)




K_H = \\beginpmatrix N_A-d_H(c_1, c_1) & \\dots & N_A-d_H(c_1, c_N) \\\\ \\vdots & \\ddots & \\vdots \\\\ N_A-d_H(c_N, c_1) & \\dots & N_A-d_H(c_N, c_N) \\endpmatrix


KH=NAdH(c1,c1)NAdH(cN,c1)NAdH(c1,cN)NAdH(cN,cN)
  其中,





N


A




N_A


NA
是网络中RELU单元的数量,




N



N


N
mini-batch的大小,这里是128



  这一点理解有些别扭,核矩阵





K


H




K_H


KH
衡量的是不同数据输入的相似性程度,相似性程度越低,





K


H




K_H


KH
越接近于对角线。


  高性能网络具有较少的非对角元素和较高的相似性(如下图),可以利用这一观察结果来预测未经训练的网络的最终性能,作者使用以下公式来评估模型的性能:





s


=


l


o


g






K


H







s=log |K_H|


s=logKH
  





K


H




K_H


KH
越接近于对角线(最好只有对角线,也就是相似性越低,即不相似性越高),




s



s


s
越高,表示训练后的模型精度更高。



  举个简单的栗子:
    假设





K


H



=



(






a






b








c






d






)




K_H = \\beginpmatrix a & b \\\\ c & d \\endpmatrix


KH=(acbd)
,则








K


H






=










a






b








c






d










=


a


d





b


c



|K_H| = \\beginvmatrix a & b \\\\ c & d \\endvmatrix=ad-bc


KH=acbd=adbc
,当b=c=0时,








K


H







|K_H|


KH
有最大值,即





K


H



=



(






a






0








0






d






)




K_H = \\beginpmatrix a & 0 \\\\ 0 & d \\endpmatrix


KH=(a00d)
,此时





K


H




K_H


KH
是一个对角矩阵,也就是只有主对角线元素有值,其它位置均为0。此时的





K


H




K_H


KH
表示的相似性程度最低,相应的




s


c


o


r


e



score


推荐阅读
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
  • 《树莓派开发实战(第2版)》——2.2 创建模型和运行推理:重回Hello World
    本节书摘来异步社区《概率编程实战》一书中的第2章,第2.2节,作者:【美】AviPfeffer(艾维费弗)&# ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文讨论了如何在不使用SearchBar display controller的情况下,单独使用SearchBar并捕获其textChange事件。作者介绍了实际状况,即左侧SliderMenu中的SearchBar需要在主页TableView中显示搜索结果。然后,作者提供了解决方案和步骤,帮助读者实现这一功能。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
author-avatar
品格优良2003_645
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有